@爆米花
2年前 提问
1个回答

UBIFS具有哪些特点

齐士忠
2年前

UBIFS具有如下特点:

  • 可扩展性强:UBIFS对NAND Flash的容量有着很好的扩展性。也就是说,系统挂载的时间、内存消耗以及I/O速度都不依赖于NAND Flash的容量(对于内存消耗并不是完全准确的,但是依赖性非常低)。

  • 挂载速度快:不同于JFFS2, UBIFS在挂载阶段不需要扫描整个文件系统,UBIFS挂载介质的时间只是毫秒级,挂载的时间也不依赖于NAND Flash的容量;然而UBI的初始化时间是依赖于NAND Flash容量的。

  • 回写:文件的改变并不是立刻提交到NAND Flash存储介质上,而是缓存这些修改直到达到写入的条件,这样做减少了I/O的数目,因此改善I/O性能和系统性能。回写也是文件系统的标准技术,由于数据没有立刻写入Flash,回写功能带来了数据丢失的风险。

  • 异常恢复:即使不干净(unclean)重启或者掉电,文件系统都可以恢复。UBIFS可以从index破坏后恢复,UBIFS中的每一片信息都由一个header来描述,因此可以通过扫描这个NAND Flash介质来重构文件系统。想象一下,如果你擦除了FAT文件系统的FAT,那么对于FAT文件系统是致命的错误,但是擦除UBIFS的index后,仍然可以重构文件系统,当然这需要一个特定的用户空间程序来完成这个恢复过程。

  • 快速I/O技术:即使禁用回写,UBIFS的性能也接近JFFS2。

  • 灵活的压缩技术:UBIFS可以对单个文件打开、关闭压缩功能。

  • 完整性:UBIFS通过写checksum到NAND Flash介质上来保证数据的完整性,UBIFS不会无视损坏文件数据或元数据。在默认情况下,UBIFS仅仅检查元数据(metadata)的CRC,但是可以通过挂载选项强制进行数据冗余校验的检查。